#ifndef _STUFF_H_
#define _STUFF_H_

#pragma warning(disable:4786)

#include <string>
using namespace std;

#define MAX_PARAMS	10

class LineAnalysis
{
private:
	string	Label;
	string	Opcode;
	string	Params[MAX_PARAMS];
	int		iParams;
	int		bComment;
	int		bXE;
	int		bIndexed;
	int		bIndirect;
	int		bImmediate;

public:
	LineAnalysis();
	void Clear();
	void operator = (const char * str);

	int IsComment()
	{
		return bComment;
	}

	int IsXE()
	{
		return bXE;
	}

	int IsIndexed()
	{
		return bIndexed;
	}

	int IsIndirect()
	{
		return bIndirect;
	}

	int IsImmediate()
	{
		return bImmediate;
	}

	string & GetLabel()
	{
		return Label;
	}

	string & GetOpcode()
	{
		return Opcode;
	}

	string & GetParam(int index)
	{
		return Params[index];
	}

	int GetNumOfParams()
	{
		return iParams;
	}
};

#endif
